home *** CD-ROM | disk | FTP | other *** search
- ;------------------------------------------------------------------------------
- ; .ss.
- ; `²²'
- ; .,sS$Ss,,s$ .,sS$$$Ss. .,sS$Ss,,s$ .ss. .sSs.
- ; .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
- ; $$$' .$$$' $$$²Sçsµ²' .$$$' .$$$'.$$$' .$$$' `$$b.
- ; $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$' ;$$$
- ; `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
- ; .sS²°$$$²²°"' d²°'
- ; .$$² .$$'
- ; $$$.,d$$'
- ; `²S$$S²'
- ;------------------------------------------------------------------------------
- ; P.P.L.X. 2.OO (C)1996 - Lone Runner / AEGiS CoRP'96
- ;------------------------------------------------------------------------------
- ; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
- ;------------------------------------------------------------------------------
-
- Boolean BOOLEAN001
- Boolean BOOLEAN002
- Boolean BOOLEAN003
- Boolean BOOLEAN004
- String STRING001
- String STRING002
- String STRING003
- String STRING004
- String STRING005
- String STRING006
- String STRING007
- Declare Procedure PROC001(Boolean BOOLEAN005)
-
- ;------------------------------------------------------------------------------
-
- STRING001 = "@X03"
- STRING002 = "@X02"
- STRING007 = "1.1"
- Print "@X01@POFF@"
- STRING003 = TokenStr()
- Tokenize STRING003
- STRING003 = GetToken()
- STRING004 = GetToken()
- FreshLine
- If ((Upper(Left(STRING004, 1)) == "S") || (Upper(STRING003) == "S")) BOOLEAN002 = 1
- If (Exist(STRING003)) Then
- DispFile STRING003, 1
- ElseIf (Exist(PPEPath() + "CHAT.PCB")) Then
- DispFile PPEPath() + "CHAT.PCB", 1
- Endif
- If (Exist(PPEPath() + "CHAT.CFG")) Then
- FOpen 1, PPEPath() + "CHAT.CFG", 0, 3
- FGet 1, STRING001
- FGet 1, STRING002
- FGet 1, STRING004
- FGet 1, STRING004
- If (Left(Upper(STRING004), 2) == "YE") BOOLEAN004 = 1
- FGet 1, STRING004
- FGet 1, STRING004
- FClose 1
- If (Left(Upper(STRING004), 2) == "ON") BOOLEAN003 = 1
- Endif
- PageOff
- RdUNet PcbNode()
- WrUNet PcbNode(), "C", UN_Name(), UN_City(), "sysopchat", 0
- :LABEL001
- STRING003 = ""
- STRING004 = ""
- While ((STRING003 == "") && (STRING004 == "")) Do
- STRING003 = KInkey()
- STRING004 = MInkey()
- EndWhile
- If (STRING003 == Chr(27)) Goto LABEL005
- If (((STRING004 == Chr(27)) && (BOOLEAN004 == 1)) || ((STRING004 == Chr(3)) && (BOOLEAN004 == 1))) Goto LABEL006
- If (STRING003 == Chr(9)) Then
- STRING003 = ""
- If (BOOLEAN001 == 0) Then
- BOOLEAN001 = 1
- Sound 665
- Delay 2
- Sound 0
- Goto LABEL002
- Endif
- Sound 665
- Delay 2
- Sound 0
- Delay 1
- Sound 665
- Delay 2
- Sound 0
- BOOLEAN001 = 0
- Endif
- :LABEL002
- If (STRING003 == Chr(7)) Then
- If (BOOLEAN003 == 1) Then
- Sound 800
- Delay 2
- Sound 0
- Endif
- MPrint STRING003
- STRING003 = ""
- Endif
- If (STRING004 == Chr(7)) Then
- If (BOOLEAN003 == 1) Then
- Sound 1000
- Delay 2
- Sound 0
- Endif
- STRING004 = ""
- Endif
- If (STRING003 == Chr(8)) Then
- Backup 1
- Print Space(1)
- Backup 1
- STRING005 = Left(STRING005, Len(STRING005) - 1)
- STRING003 = ""
- Endif
- If ((STRING004 == Chr(8)) && (BOOLEAN001 == 0)) Then
- Backup 1
- Print Space(1)
- Backup 1
- STRING006 = Left(STRING006, Len(STRING006) - 1)
- STRING004 = ""
- Endif
- If (STRING003 == Chr(13)) Then
- STRING003 = ""
- PrintLn "@POFF@"
- STRING005 = ""
- Endif
- If ((STRING004 == Chr(13)) && (BOOLEAN001 == 0)) Then
- STRING004 = ""
- PrintLn "@POFF@"
- STRING006 = ""
- Endif
- If ((STRING003 <> "") && (Len(STRING003) == 1)) Then
- If (STRING003 == Space(1)) Then
- STRING005 = ""
- Goto LABEL003
- Endif
- STRING005 = STRING005 + STRING003
- :LABEL003
- If ((GetX() > 78) && (Len(STRING005) <= 77)) Then
- Print STRING001, Space(1)
- PROC001(1)
- Endif
- If ((GetX() > 78) && (Len(STRING005) >= 77)) Then
- Print STRING001, Space(1)
- Newline
- STRING005 = ""
- Endif
- Print STRING001, STRING003
- STRING006 = ""
- Endif
- If (((STRING004 <> "") && (BOOLEAN001 == 0)) && (Len(STRING004) == 1)) Then
- If (STRING004 == Space(1)) Then
- STRING006 = ""
- Goto LABEL004
- Endif
- STRING006 = STRING006 + STRING004
- :LABEL004
- If ((GetX() > 79) && (Len(STRING006) <= 77)) PROC001(0)
- If ((GetX() > 79) && (Len(STRING006) >= 77)) Then
- Newline
- STRING006 = ""
- Endif
- Print STRING002, STRING004
- STRING005 = ""
- Endif
- Goto LABEL001
- :LABEL005
- FreshLine
- Newline
- If (Exist(PPEPath() + "CHAT.CFG")) Then
- STRING004 = ReadLine(PPEPath() + "CHAT.CFG", 3)
- FClose -1
- If (Left(STRING004, 80) <> Space(80)) Then
- DispStr STRING004
- FreshLine
- Endif
- Endif
- If (BOOLEAN002 == 1) KbdStuff Chr(27)
- End
- :LABEL006
- FreshLine
- Newline
- If (Exist(PPEPath() + "CHAT.CFG")) Then
- STRING004 = ReadLine(PPEPath() + "CHAT.CFG", 5)
- FClose -1
- If (Left(STRING004, 80) <> Space(80)) Then
- DispStr STRING004
- FreshLine
- Endif
- Endif
- If (BOOLEAN002 == 1) KbdStuff Chr(27)
- End
-
- ;------------------------------------------------------------------------------
-
- Procedure PROC001(Boolean BOOLEAN005)
-
- If (BOOLEAN005 == 1) Then
- Backup Len(STRING005)
- Print Space(Len(STRING005))
- Newline
- Print STRING001, STRING005
- STRING003 = ""
- Else
- Backup Len(STRING006)
- Print Space(Len(STRING006))
- Newline
- Print STRING002, STRING006
- STRING004 = ""
- Endif
-
- EndProc
-
-
- ;------------------------------------------------------------------------------
- ;
- ; Usage report (before postprocessing)
- ;
- ; ■ Statements used :
- ;
- ; 2 End
- ; 35 Goto
- ; 38 Let
- ; 11 Print
- ; 2 PrintLn
- ; 34 If
- ; 2 DispFile
- ; 1 FOpen
- ; 3 FClose
- ; 6 FGet
- ; 6 Delay
- ; 6 Newline
- ; 1 Tokenize
- ; 2 KbdStuff
- ; 2 DispStr
- ; 1 RdUNet
- ; 1 WrUNet
- ; 6 Backup
- ; 5 FreshLine
- ; 10 Sound
- ; 1 MPrint
- ; 1 PageOff
- ; 1 EndProc
- ;
- ;
- ; ■ Functions used :
- ;
- ; 2 -
- ; 10 +
- ; 2 -
- ; 31 ==
- ; 4 <>
- ; 2 <=
- ; 4 >
- ; 2 >=
- ; 26 !
- ; 12 &&
- ; 2 ||
- ; 12 Len(
- ; 4 Upper()
- ; 7 Left()
- ; 10 Space()
- ; 12 Chr()
- ; 8 PPEPath()
- ; 2 PcbNode()
- ; 2 ReadLine()
- ; 1 UN_Name()
- ; 1 UN_City()
- ; 2 GetToken()
- ; 5 Exist()
- ; 1 TokenStr()
- ; 4 GetX()
- ; 1 KInkey()
- ; 1 MInkey()
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Analysis flags : M
- ;
- ; M - Send text to modem only ■ 4
- ; Some informations are sent only to the modem, not to the local
- ; screen, this is a well known way to make stealth backdoors, Check!
- ; ■ Search for : SENDMODEM, MPRINT, MPRINTLN
- ;
- ;------------------------------------------------------------------------------
- ;
- ; Postprocessing report
- ;
- ; 0 For/Next
- ; 1 While/EndWhile
- ; 25 If/Then or If/Then/Else
- ; 0 Select Case
- ;
- ;------------------------------------------------------------------------------
- ; AEGiS Corp - Break the routines, code against the machines!
- ;------------------------------------------------------------------------------
-